// 封装的是具体的接口请求方法
/* eslint-disable camelcase */

// 每个方法只负责请求一个url地址
import request from '@/utils/request'
// 引入store对象
import store from '@/store/index'
// 导出接口方法，为了在逻辑页面引入后调用
export const registerAPI = (data) => {
  // 原地是一个Promise对象，（内部包含原生ajax请求）
  //   return这个Promise对象到逻辑页面，去那边对Promise对象提取结果
  return request({
    url: '/api/reguser',
    method: 'POST',
    // get请求用params传参
    // post请求用data传参
    data,
    headers: { 'Content-Type': 'application/x-www-form-urlencoded;charset=UTF-8' }
  })
}
export const loginAPI = (data) => {
  // 原地是一个Promise对象，（内部包含原生ajax请求）
  //   return这个Promise对象到逻辑页面，去那边对Promise对象提取结果
  return request({
    url: '/api/login',
    method: 'post',
    // get请求用params传参
    // post请求用data传参
    data,
    headers: { 'Content-Type': 'application/x-www-form-urlencoded;charset=UTF-8' }
  })
}
export const getUseInforAPI = () => {
  return request({
    url: '/my/userinfo',
    // get请求用params传参
    // post请求用data传参
    headers: {
      // this.$store.state.token  这里this不是组件对象不能用this.$store拿到store对象
      Authorization: store.state.token
    }
  })
}

export const getMenusListAPI = () => {
  return request({
    url: '/my/menus'
    // headers: {
    // this.$store.state.token  这里this不是组件对象不能用this.$store拿到store对象
    // Authorization: store.state.token
    // }
  })
}
// 更新用户信息
export const updateUserInfotAPI = ({ username, nickname, email }) => {
  return request({
    url: '/my/userinfo',
    method: 'post',
    data: {
      id: store.state.userInfo.id,
      username,
      nickname,
      email
    }
  })
}
// 更新用户头像
export const updateUserPictAPI = (data) => {
  return request({
    url: '/my/update/avatar',
    method: 'post',
    data,
    headers: { 'Content-Type': 'application/json' }
  })
}

// 修改用户密码
export const updateUserPwdtAPI = (data) => {
  return request({
    url: '/my/updatepwd',
    method: 'POST',
    data,
    headers: { 'Content-Type': 'application/x-www-form-urlencoded;charset=UTF-8' }
  })
}
// 获取文章分类
export const getArtCateAPI = () => {
  return request({
    url: '/my/cate/list'
  })
}
// 新增文章分类
export const addArtCateAPI = ({ name, alias }) => {
  return request({
    url: '/my/cate/add',
    method: 'post',
    data: {
      name,
      alias
    }
  })
}
// 修改文章分类
export const updateArtCateAPI = ({ id, name, alias }) => {
  return request({
    url: '/my/cate/info',
    method: 'put',
    data: {
      id,
      name,
      alias
    }
  })
}
// 删除文章分类
export const deleteArtCateAPI = (id) => {
  return request({
    url: '/my/cate/del',
    params: {
      id
    }
  })
}
// 发布文章
export const pubArticleAPI = (data) => {
  return request({
    url: '/my/cate/artcle/add',
    method: 'post',
    data
    // headers: { 'Content-Type': 'application/x-www-form-urlencoded;charset=UTF-8' }
    // {} 如果是一个普通对象，axios会把它转成JSON字符串在请求体里交给后台
  })
}
// 获取文章列表
export const getArticleAPI = ({ pagenum, pagesize, cate_id, state }) => {
  return request({
    url: '/my/cate/article/list',
    method: 'get',
    params: {
      pagenum,
      pagesize,
      id: cate_id,
      state
    }
  })
}
// 查看文章详情
export const articleDetailsAPI = (id) => {
  return request({
    url: '/my/cate/article/info',
    method: 'get',
    params: {
      id
    }
  })
}
// 删除文章
export const deleteArtAPI = (id) => {
  return request({
    url: '/my/cate/article/info',
    method: 'delete',
    params: {
      id
    }
  })
}
// 以下新增
// 根据职位类别查职位ID
export const searchArtCateAPI = (name) => {
  return request({
    url: '/my/cate/search',
    method: 'get',
    params: {
      name
    }
  })
}
export const idSearchArtCateAPI = (id) => {
  return request({
    url: '/my/cate/idsearch',
    method: 'get',
    params: {
      id
    }
  })
}
